package com.gopay.cron.dao.trans;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.gopay.common.base.dao.BaseDAO;


@SuppressWarnings("all")
public interface MainOrderQueryDAO extends BaseDAO<Object[], Serializable> {

    public List<Object[]> getTransList(Map map, int beginPage, int pageSize);

    public List<Object[]> getTransList(Map map);

    public int getCount(Map map);

    public int getRepeatCount(String merId, String merOrderId);// 判断此订单是不是重复冲正订单

    /**
	 * 钱包订单失效轮询打补丁
	 * 查询手机钱包快捷支付、wap网银支付进行中的订单
	 * @return gopay_order_id
	 * @author tangyang
	 * @date 20170526
	 * ps:后期可加上m.created_ts大于某个时间。因第一次需要查询存量所以订单，所以没加
	 * 查询条件：
	 * gopay_int_txn_cd in ('01603','01605','01606','01607','01608','01611','01612','01613')  
     * pay_channel in ('03','06','08') 
     * txn_sta_cd='30000' 
     * gateway_source = '05' 
	 */
	public List<Object[]> findWalletTimeoutOrderBank();
	
	/**
	 * 钱包订单失效轮询打补丁
	 * 查询手机钱包余额支付进行中的订单
	 * @return gopay_order_id
	 * @author tangyang
	 * @date 20170606
	 * ps:后期可加上m.created_ts大于某个时间。因第一次需要查询存量所以订单，所以没加
	 * 查询条件：
	 * gopay_int_txn_cd in ('00800','01603','01605','01606','01607','01608','01611','01612','01613')  
	 * pay_channel in ('02','52')
	 * txn_sta_cd='30000' 
	 * gateway_source = '05' 
	 * mer_txn_tm < sysdate-1
	 */
	public List<Object[]> findWalletTimeoutOrderGfb();
	
	/**
     * 定时任务-手机钱包超时订单清理 根据超时时间获取除银行订单以外的超时订单
     *
     * @return
     */
    public List<Object[]> findWalletTimeoutCpsGenMainOrderByTimeSpan();
}
